package com.example.demo.mq.producer;

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.annotation.JmsListener;
import org.springframework.jms.core.JmsMessagingTemplate;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import javax.jms.Destination;


@Component
@Slf4j
public class ActiveMqProducer {

    @Resource
    private JmsMessagingTemplate jmsMessagingTemplate;

    /**
     * 把接收到的消息和消息模式放到了队列里
     * 或者主题里就是queue或topic里，然后只要写
     * 消费者加上@JmsListener监听队列消息就可以自动获取
     * @param destination
     * @param message
     */
    public void sendMessage(Destination destination, String message) {
        jmsMessagingTemplate.convertAndSend(destination, message);
    }

    /**
     * 这里的第二个方法加上了监听注解就可以收到消费者返回的信息，前提消费者要加@SendTo注解，
     * @param message
     */
    @JmsListener(destination = "topic_test")
    public void Message(String message) {
        log.info("生产者收到的返回消息：{}", message );
    }
}